# -*- codeing = utf-8 -*-
# @Time : 2021/3/4 15:44
# @Atuthor: 朱朱
# @File: 171正则练习.py
# @Software: PyCharm
import re

# 判断用户输入的内容是否是数字，如果是数字转换成为数字类型
# ?     两种用法:
# 1.    规定前面的元素最多只能出现一次，等价于 {,1}
# 2.    将贪婪模式转换成为非贪婪模式
num = input('请输入一段数字')
if re.fullmatch(r'\d+(\.\d+)?',num):
    print('是个数字')
    print(float(num))
else:
    print('不是一个数字')

# 以非数字开头，后面有 字母数字_-组成的长度4到14位的字符串
rs = r'^\D[a-z0-9A-Z_\-]{3,13}'
print(re.match(rs, 'sH_8'))

# 匹配邮箱 xxx@xxx.com
rs1 = r'^([a-z0-9A-Z_\-\.])+@([a-z0-9A-Z_\.\-])+\.([A-Za-z]{2,4})$'
print(re.match(rs1,'xiaomi@xiaomi008.com'))

# 匹配手机号
rs2 = r'^(1[3-9]{1}[0-9]{1}[0-9]{8})$'
print(re.match(rs2,'17753609911'))

# 匹配身份证号 370782 1977 1102 481X
rs3 = r'^[1-9]\d{5}(18|19|20|)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$'
print(re.match(rs3,'37078219771102481X'))

# 匹配url地址 https://api.www.xxx.cmom/?udid=xxx&name=zzz/
rs4 = r'((ht|f)tps?):\/\/([\w\-]+(\.[\w\-]+)*\/)*[\w\-]+(\.[\w\-]+)*\/?(\?([\w\-\.,@?^=%&:\/~\+#]*)+)?'
# rs4 = r'^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$' # 菜鸟上的有错误
print(re.match(rs4,'http://www.baidu.com/?uuid=999&name=haha'))

# 匹配qq号
rs5 = r"^[1-9][0-9]{4,10}$"
print(re.match(rs5,'2598777888'))

# 匹配车牌号
rs6 = r'^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$'
print(re.match(rs6,'鲁B88988'))
